{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入需要的库. 算法放在 sort.py 中\n",
    "import time\n",
    "import numpy as np # 只用来生成随机数\n",
    "import matplotlib.pyplot as plt\n",
    "from sort import *\n",
    "\n",
    "# 数组规模\n",
    "size = list(range(50000,550000,50000))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "origin list: [7, 2, 14, 6, 14, 11, 14, 14, 10, 7]\n",
      "expected answer: [2, 6, 7, 7, 10, 11, 14, 14, 14, 14]\n",
      "quick_sort: [2, 6, 7, 7, 10, 11, 14, 14, 14, 14]\n",
      "merge_sort: [2, 6, 7, 7, 10, 11, 14, 14, 14, 14]\n",
      "heap_sort: [2, 6, 7, 7, 10, 11, 14, 14, 14, 14]\n",
      "Insert_sort: [2, 6, 7, 7, 10, 11, 14, 14, 14, 14]\n"
     ]
    }
   ],
   "source": [
    "# 测试算法的正确性\n",
    "\n",
    "L = [ 7,  2, 14,  6, 14, 11, 14, 14, 10,  7]\n",
    "print('origin list: %s' % L)\n",
    "print('expected answer: %s' % sorted(L))\n",
    "print('quick_sort: %s' % Random_quick_sort(L,0,len(L)-1))\n",
    "print('merge_sort: %s' % Merge_sort(L,0,len(L)-1))\n",
    "print('heap_sort: %s' % Heap_sort(L))\n",
    "print('Insert_sort: %s' % Insert_sort(L,0,len(L)-1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. 快速排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running: 50000\n",
      "running: 100000\n",
      "running: 150000\n",
      "running: 200000\n",
      "running: 250000\n",
      "running: 300000\n",
      "running: 350000\n",
      "running: 400000\n",
      "running: 450000\n",
      "running: 500000\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "average_time = []\n",
    "var_time = []\n",
    "for i in size:\n",
    "    average = []\n",
    "    print('running: %d' % i )\n",
    "    for j in range(10):\n",
    "        L = np.random.randint(0,i,i)\n",
    "        tic = time.time()\n",
    "        Random_quick_sort(L,0,len(L)-1)\n",
    "        toc = time.time()\n",
    "        average.append(toc - tic)\n",
    "    average_time.append(np.mean(average))\n",
    "    var_time.append(np.var(average))\n",
    "        \n",
    "# 绘图\n",
    "plt.figure()\n",
    "plt.plot(size,average_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('average time')\n",
    "plt.figure()\n",
    "plt.plot(size,var_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('var of time')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. 归并排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running: 50000\n",
      "running: 100000\n",
      "running: 150000\n",
      "running: 200000\n",
      "running: 250000\n",
      "running: 300000\n",
      "running: 350000\n",
      "running: 400000\n",
      "running: 450000\n",
      "running: 500000\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "average_time = []\n",
    "var_time = []\n",
    "for i in size:\n",
    "    average = []\n",
    "    print('running: %d' % i )\n",
    "    for j in range(10):\n",
    "        L = np.random.randint(0,i,i)\n",
    "        tic = time.time()\n",
    "        Merge_sort(L,0,len(L)-1)\n",
    "        toc = time.time()\n",
    "        average.append(toc - tic)\n",
    "    average_time.append(np.mean(average))\n",
    "    var_time.append(np.var(average))\n",
    "        \n",
    "# 绘图\n",
    "plt.figure()\n",
    "plt.plot(size,average_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('average time')\n",
    "plt.figure()\n",
    "plt.plot(size,var_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('var of time')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3. 堆排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running: 50000\n",
      "running: 100000\n",
      "running: 150000\n",
      "running: 200000\n",
      "running: 250000\n",
      "running: 300000\n",
      "running: 350000\n",
      "running: 400000\n",
      "running: 450000\n",
      "running: 500000\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "average_time = []\n",
    "var_time = []\n",
    "for i in size:\n",
    "    average = []\n",
    "    print('running: %d' % i )\n",
    "    for j in range(10):\n",
    "        L = np.random.randint(0,i,i)\n",
    "        tic = time.time()\n",
    "        Heap_sort(L)\n",
    "        toc = time.time()\n",
    "        average.append(toc - tic)\n",
    "    average_time.append(np.mean(average))\n",
    "    var_time.append(np.var(average))\n",
    "        \n",
    "# 绘图\n",
    "plt.figure()\n",
    "plt.plot(size,average_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('average time')\n",
    "plt.figure()\n",
    "plt.plot(size,var_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('var of time')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4. 插入排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 修改size\n",
    "size = list(range(500,5000,500))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "running: 500\n",
      "running: 1000\n",
      "running: 1500\n",
      "running: 2000\n",
      "running: 2500\n",
      "running: 3000\n",
      "running: 3500\n",
      "running: 4000\n",
      "running: 4500\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "average_time = []\n",
    "var_time = []\n",
    "for i in size:\n",
    "    average = []\n",
    "    print('running: %d' % i )\n",
    "    for j in range(10):\n",
    "        L = np.random.randint(0,i,i)\n",
    "        tic = time.time()\n",
    "        Insert_sort(L,0,len(L)-1)\n",
    "        toc = time.time()\n",
    "        average.append(toc - tic)\n",
    "    average_time.append(np.mean(average))\n",
    "    var_time.append(np.var(average))\n",
    "        \n",
    "# 绘图\n",
    "plt.figure()\n",
    "plt.plot(size,average_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('average time')\n",
    "plt.figure()\n",
    "plt.plot(size,var_time)\n",
    "plt.xlabel('numbers in the list')\n",
    "plt.ylabel('var of time')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "torch",
   "language": "python",
   "name": "torch"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
